/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package cn.apestar.modules.meibang.task.entity;

import org.hibernate.validator.constraints.Length;

import cn.apestar.common.persistence.DataEntity;
import cn.apestar.modules.sys.entity.User;

/**
 * taskEntity
 * @author task
 * @version 2017-06-19
 */
public class Task extends DataEntity<Task> {

    private static final long serialVersionUID = 1L;

    private String taskType; // 任务类型

    private String program; // program

    private String taskName; // task_name

    private String showImage; // LOGO

    private String startTime; // 任务开始日期

    private String endTime; // 任务结束日期

    private String taskTime; // 任务时间

    private String cutoffTime; // 任务截止日期

    private String commission; // 佣金费用

    private Long settlementType; // 结算类型

    private String totalMoney; // 总额

    private String paymentTotal; // 结款总额

    private Long taskNum; // 任务次数

    private Long finishNum; // 已完成次数

    private Long shareSum; // 分享总数

    private Long browseSum; // 阅览总数

    private Long wshNum; // 未审核记录数

    private Long shareTrueSum; // 分享总数真实

    private Long browseTrueSum; // 阅览总数真实

    private Long isHot; // 是否热门(0:否(默认),1:是)

    private Long isRecommend; // 是否推荐(0:否(默认),1:是)

    private String auditTime; // 审核时间

    private Long taskConstraints; // 任务限制 0 为无限制

    private String description; // description

    private String url; // 任务地址

    private String content; // 内容

    private String taskJson; // 明细JSON

    private String flag; // 任务状态

    private String proxyAuditFlag; // 代理审核

    private Long institutionId; // 机构ID

    private User user; // 用户ID

    private String modePayment; // 付款方式

    private String link; // 链接

    private String showLink; // 显示链接

    private Long employNum; // 录用人数

    private String exp; // 经验

    public Task() {
        super();
    }

    public Task(String id) {
        super(id);
    }

    @Length(min = 0, max = 100, message = "任务类型长度必须介于 0 和 100 之间")
    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    @Length(min = 0, max = 32, message = "program长度必须介于 0 和 32 之间")
    public String getProgram() {
        return program;
    }

    public void setProgram(String program) {
        this.program = program;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Length(min = 0, max = 255, message = "LOGO长度必须介于 0 和 255 之间")
    public String getShowImage() {
        return showImage;
    }

    public void setShowImage(String showImage) {
        this.showImage = showImage;
    }

    @Length(min = 1, max = 12, message = "任务开始日期长度必须介于 1 和 12 之间")
    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    @Length(min = 1, max = 12, message = "任务结束日期长度必须介于 1 和 12 之间")
    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    @Length(min = 0, max = 12, message = "任务时间长度必须介于 0 和 12 之间")
    public String getTaskTime() {
        return taskTime;
    }

    public void setTaskTime(String taskTime) {
        this.taskTime = taskTime;
    }

    @Length(min = 0, max = 12, message = "任务截止日期长度必须介于 0 和 12 之间")
    public String getCutoffTime() {
        return cutoffTime;
    }

    public void setCutoffTime(String cutoffTime) {
        this.cutoffTime = cutoffTime;
    }

    public String getCommission() {
        return commission;
    }

    public void setCommission(String commission) {
        this.commission = commission;
    }

    public Long getSettlementType() {
        return settlementType;
    }

    public void setSettlementType(Long settlementType) {
        this.settlementType = settlementType;
    }

    public String getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(String totalMoney) {
        this.totalMoney = totalMoney;
    }

    public String getPaymentTotal() {
        return paymentTotal;
    }

    public void setPaymentTotal(String paymentTotal) {
        this.paymentTotal = paymentTotal;
    }

    public Long getTaskNum() {
        return taskNum;
    }

    public void setTaskNum(Long taskNum) {
        this.taskNum = taskNum;
    }

    public Long getFinishNum() {
        return finishNum;
    }

    public void setFinishNum(Long finishNum) {
        this.finishNum = finishNum;
    }

    public Long getShareSum() {
        return shareSum;
    }

    public void setShareSum(Long shareSum) {
        this.shareSum = shareSum;
    }

    public Long getBrowseSum() {
        return browseSum;
    }

    public void setBrowseSum(Long browseSum) {
        this.browseSum = browseSum;
    }

    public Long getWshNum() {
        return wshNum;
    }

    public void setWshNum(Long wshNum) {
        this.wshNum = wshNum;
    }

    public Long getShareTrueSum() {
        return shareTrueSum;
    }

    public void setShareTrueSum(Long shareTrueSum) {
        this.shareTrueSum = shareTrueSum;
    }

    public Long getBrowseTrueSum() {
        return browseTrueSum;
    }

    public void setBrowseTrueSum(Long browseTrueSum) {
        this.browseTrueSum = browseTrueSum;
    }

    public Long getIsHot() {
        return isHot;
    }

    public void setIsHot(Long isHot) {
        this.isHot = isHot;
    }

    public Long getIsRecommend() {
        return isRecommend;
    }

    public void setIsRecommend(Long isRecommend) {
        this.isRecommend = isRecommend;
    }

    @Length(min = 0, max = 100, message = "审核时间长度必须介于 0 和 100 之间")
    public String getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(String auditTime) {
        this.auditTime = auditTime;
    }

    public Long getTaskConstraints() {
        return taskConstraints;
    }

    public void setTaskConstraints(Long taskConstraints) {
        this.taskConstraints = taskConstraints;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Length(min = 0, max = 255, message = "任务地址长度必须介于 0 和 255 之间")
    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getTaskJson() {
        return taskJson;
    }

    public void setTaskJson(String taskJson) {
        this.taskJson = taskJson;
    }

    @Length(min = 0, max = 1, message = "任务状态长度必须介于 0 和 1 之间")
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Length(min = 0, max = 1, message = "代理审核长度必须介于 0 和 1 之间")
    public String getProxyAuditFlag() {
        return proxyAuditFlag;
    }

    public void setProxyAuditFlag(String proxyAuditFlag) {
        this.proxyAuditFlag = proxyAuditFlag;
    }

    public Long getInstitutionId() {
        return institutionId;
    }

    public void setInstitutionId(Long institutionId) {
        this.institutionId = institutionId;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Length(min = 0, max = 1, message = "付款方式长度必须介于 0 和 1 之间")
    public String getModePayment() {
        return modePayment;
    }

    public void setModePayment(String modePayment) {
        this.modePayment = modePayment;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getShowLink() {
        return showLink;
    }

    public void setShowLink(String showLink) {
        this.showLink = showLink;
    }

    public Long getEmployNum() {
        return employNum;
    }

    public void setEmployNum(Long employNum) {
        this.employNum = employNum;
    }

    @Length(min = 0, max = 50, message = "经验长度必须介于 0 和 50 之间")
    public String getExp() {
        return exp;
    }

    public void setExp(String exp) {
        this.exp = exp;
    }

}